const { DataTypes } = require('sequelize');
const sequelize = require('../db'); // 修改为正确的相对路径
const Chapter = require('./chapter'); // 引入 Chapter 模型

const Novel = sequelize.define('fa_novel', {
  title: {
    type: DataTypes.STRING,
    allowNull: false
  },
  author: {
    type: DataTypes.STRING,
    allowNull: false
  },
  summary: {
    type: DataTypes.TEXT,
    allowNull: false
  },
  category: { // 添加分类字段
    type: DataTypes.STRING,
    allowNull: false
  },
  updatedAt: { // 添加最后更新时间字段
    type: DataTypes.DATE,
    allowNull: true
  },
  latestChapter: { // 添加最新章节字段
    type: DataTypes.STRING,
    allowNull: true
  }
});

// 定义小说与章节之间的关联关系
// Novel.hasMany(Chapter, {
//   foreignKey: 'novelId',
//   as: 'chapters'
// });

// 确保 sequelize 实例已正确导入，并且同步模型
// Novel.sync({ force: true })
//   .then(() => {
//     console.log('Novel model synced successfully');
//   })
//   .catch(error => {
//     console.error('Error syncing Novel model:', error);
//   });

module.exports = Novel;